package dao;

import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;

import model.Estado;
import util.ConnectionPostgreSqlPool;
import util.FormatBigDecimal;

public class InfoEstadoDao {

	private List<Estado> list = new ArrayList<Estado>();
	
	public List<Estado> getInfoEstados(String nome) {
		
		try{
			 
            Connection con = ConnectionPostgreSqlPool.getConnectionManual();
            //Definir por estado
            PreparedStatement stm = con.prepareStatement("select sigla, COUNT(p.idn_empreendimento), MAX(p.investimento_total) as total, AVG(p.investimento_total) from empreendimento as p join empreendimento_uf as puf on p.idn_empreendimento = puf.idn_empreendimento group by puf.sigla order by MAX(p.investimento_total) DESC");
            ResultSet res = stm.executeQuery();
 
            int x = 0;
            //Estado estado;
            while(res.next()){
            	/* estado = new Estado();
            	 estado.setId(x);
                 estado.setNome(res.getString(1));
                 estado.setTotal_emp(res.getInt(2));
                 estado.setInvestTotal(res.getBigDecimal(3));
                 estado.setMediaInvest(res.getBigDecimal(4));
                 */
                 list.add(new Estado(x, res.getString(1), res.getInt(2), res.getBigDecimal(3), FormatBigDecimal.casasDecimais(2, res.getBigDecimal(4))));
                 x++;
            }
            stm.close();
            con.close();
            return list;
            
        }catch(Exception x){
            x.printStackTrace();
            return null;
        }
		
	}	
	
}
